Skip to main content

Repository Management

Repository management — bu Linux tizimida paketlar va yangilanishlarni markazlashgan holda tarqatish, boshqarish va nazorat qilish jarayoni. O‘z repoingizni yaratish orqali ichki dasturlarni, maxsus paketlarni va yangilanishlarni oson tarqatish mumkin.


Repository Turlari

  • Remote (rasmiy) repository — Internet orqali ulanish (Ubuntu, CentOS rasmiy repolari)
  • Local repository — Tarmoq ichida yoki lokal serverda o‘rnatilgan repo
  • Private repository — Faqat ichki ehtiyojlar uchun maxsus repo

APT Repository Management (Debian/Ubuntu)

1. Local APT repository yaratish

Katalog tuzish va paketlarni joylashtirish

mkdir -p /srv/myrepo
cp *.deb /srv/myrepo/

Paketlar ro‘yxatini generatsiya qilish

cd /srv/myrepo
dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Web server orqali repo ulash

Apache yoki Nginx orqali /srv/myrepo katalogini ulash.

Clientda repo qo‘shish

/etc/apt/sources.list yoki yangi .list faylga:

deb [trusted=yes] http://your-server-ip/myrepo ./

Paketni o‘rnatish

sudo apt update
sudo apt install myapp

2. Custom PPA yoki remote repo qo‘shish

sudo add-apt-repository ppa:user/ppa-name
sudo apt update

YUM Repository Management (RHEL/CentOS/Fedora)

1. Local YUM repository yaratish

Katalog tuzish va paketlarni joylashtirish

mkdir -p /srv/yumrepo
cp *.rpm /srv/yumrepo/

Paketlar metadata-sini generatsiya qilish

createrepo /srv/yumrepo

Web server orqali repo ulash

Apache yoki Nginx orqali /srv/yumrepo katalogini ulash.

Clientda repo fayli yaratish

/etc/yum.repos.d/myrepo.repo faylini yarating:

[myrepo]
name=My Local Repo
baseurl=http://your-server-ip/yumrepo/
enabled=1
gpgcheck=0

Paketni o‘rnatish

sudo yum clean all
sudo yum repolist
sudo yum install myapp

Repositoryni boshqarish va yangilash

  • Paketlar va metadata fayllarni muntazam yangilab boring
  • Keraksiz paketlarni olib tashlang
  • GPG imzo bilan repolarni himoyalang (security uchun)
  • Log va auditlarni tekshirib boring

Advanced Misollar

APT uchun GPG imzo qo‘shish

gpg --export --armor "Your Name" > public.key
apt-key add public.key

YUM uchun GPG imzo qo‘shish

gpg --gen-key
gpg --export -a "Your Name" > RPM-GPG-KEY-myrepo

myrepo.repo faylida:

gpgcheck=1
gpgkey=http://your-server-ip/yumrepo/RPM-GPG-KEY-myrepo

Foydali Amaliyotlar

  • Paketlar va repolarni versiyalash
  • Faqat ishonchli paketlarni repo orqali tarqating
  • Monitoring va auditni yoqing
  • Repolarni backup qilib boring

Foydali Buyruqlar va Havolalar


Repository management yordamida Linux tizimida paketlarni professional tarqatish, boshqarish va yangilash imkoniyatiga ega bo‘lasiz. O‘z repoingizni yaratib, tizimni xavfsiz va markazlashgan holda boshqaring!